Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deSceneOctree Class Reference

#include <deOctree.hpp>

Collaboration diagram for deSceneOctree:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 deSceneOctree ()
int Release ()
void TEST ()
void SetMinOctSize (deDouble MinSize)
deDouble GetMinOctSize ()
void SetMaxNodeNum (int MaxNum)
int GetMaxNodeNum ()
IdeVertexBufferGetVB (int MaxPoints)
deBoolean WipeTree ()
deBoolean AddNode (IdeSceneRoom *Node)
deBoolean RemoveNode (IdeSceneRoom *Node)
IdeSceneRoomFindContainerNode (const deVec3d &Position)
IdeSceneRoomFindClosestNode (const deVec3d &Position)
deBoolean FindIntersectingNodes (deTList< IdeSceneRoom * > &List, const deVec3d *Mins, const deVec3d *Maxs)
deBoolean TraceRayCollision (const deVec3d &Start, const deVec3d &End, IdeCollision::deCollideInfo &Collision)
void CleanUp ()

Protected Member Functions

virtual ~deSceneOctree ()

Private Types

enum  Neighbor_t {
  n_None = -1, n_Left = 0, n_Right, n_Bottom,
  n_Top, n_Front, n_Back
}

Private Member Functions

deBoolean FillOctantLinePoints (Octant *oct, deVertex *Buffer, int &LastPoint, int MaxPoints)
void CleanUp (Octant *oct)
deBoolean SubdivideOctant (Octant *oct)
deBoolean Optimize (Octant *oct)
deBoolean InsertNode (IdeSceneRoom *Node)
deBoolean CalcNeighbors (Octant *oct)
OctantTraceNeighbor (Octant *Start, Octant *Current, Neighbor_t N, int Depth)
deBoolean RayTestFromOctant (Octant *oct, const deVec3d &Start, const deVec3d &End, IdeCollision::deCollideInfo &Collision)
deBoolean RayTestNodes (Octant *oct, const deVec3d &Start, const deVec3d &End, IdeCollision::deCollideInfo *Collision)
deBoolean RayTestParents (Octant *oct, const deVec3d &Start, const deVec3d &Dir, IdeCollision::deCollideInfo *Collision)
Neighbor_t RayToNeighbor (Octant *oct, const deVec3d &RayStart, const deVec3d &RayDir, deVec3d &ExitPoint)
int DecideChildOctant (Octant *Parent, const deVec3d &Position)
int DecideParentOctant (Octant *Child, const deVec3d &Position)
deBoolean InitializeRoot ()
OctantMakeOctant (const deVec3d &Min, const deVec3d &Max, Octant *ParentChild, int ParentID)
OctantMakeSubOctant (Octant *ParentChild, int ParentID)
deBoolean RemoveOctant (Octant *oct, deTList< IdeSceneRoom * > *DumpList, deBoolean RemoveChildren, deBoolean IgnoreNeighbors=deFALSE)
OctantFindOctant (const deVec3d &Position)
OctantFindSubOctant (Octant *oct, const deVec3d &Position)
OctantFindOctant (const deVec3d &Min, const deVec3d &Max)
OctantFindSubOctant (Octant *oct, const deVec3d &Min, const deVec3d &Max)
deBoolean TestOctantPoint (Octant *oct, const deVec3d &Position)
deBoolean TestOctantBBox (Octant *oct, const deVec3d &Min, const deVec3d &Max)

Private Attributes

Octantm_Root
deDouble m_MinSize
int m_MaxNodes
int m_TestNumber
IdeVertexBufferm_LineListVB

Member Enumeration Documentation

enum deSceneOctree::Neighbor_t [private]
 

Enumeration values:
n_None 
n_Left 
n_Right 
n_Bottom 
n_Top 
n_Front 
n_Back 


Constructor & Destructor Documentation

deSceneOctree::~deSceneOctree   [protected, virtual]
 

deSceneOctree::deSceneOctree  
 


Member Function Documentation

deBoolean deSceneOctree::AddNode IdeSceneRoom   Node
 

deBoolean deSceneOctree::CalcNeighbors Octant   oct [private]
 

void deSceneOctree::CleanUp Octant   oct [private]
 

void deSceneOctree::CleanUp  
 

int deSceneOctree::DecideChildOctant Octant   Parent,
const deVec3d   Position
[private]
 

int deSceneOctree::DecideParentOctant Octant   Child,
const deVec3d   Position
[private]
 

deBoolean deSceneOctree::FillOctantLinePoints Octant   oct,
deVertex   Buffer,
int &    LastPoint,
int    MaxPoints
[private]
 

IdeSceneRoom * deSceneOctree::FindClosestNode const deVec3d   Position
 

IdeSceneRoom * deSceneOctree::FindContainerNode const deVec3d   Position
 

deBoolean deSceneOctree::FindIntersectingNodes deTList< IdeSceneRoom * > &    List,
const deVec3d   Mins,
const deVec3d   Maxs
 

deSceneOctree::Octant * deSceneOctree::FindOctant const deVec3d   Min,
const deVec3d   Max
[private]
 

deSceneOctree::Octant * deSceneOctree::FindOctant const deVec3d   Position [private]
 

deSceneOctree::Octant * deSceneOctree::FindSubOctant Octant   oct,
const deVec3d   Min,
const deVec3d   Max
[private]
 

deSceneOctree::Octant * deSceneOctree::FindSubOctant Octant   oct,
const deVec3d   Position
[private]
 

int deSceneOctree::GetMaxNodeNum  
 

deDouble deSceneOctree::GetMinOctSize  
 

IdeVertexBuffer * deSceneOctree::GetVB int    MaxPoints
 

deBoolean deSceneOctree::InitializeRoot   [private]
 

deBoolean deSceneOctree::InsertNode IdeSceneRoom   Node [private]
 

deSceneOctree::Octant * deSceneOctree::MakeOctant const deVec3d   Min,
const deVec3d   Max,
Octant   ParentChild,
int    ParentID
[private]
 

deSceneOctree::Octant * deSceneOctree::MakeSubOctant Octant   ParentChild,
int    ParentID
[private]
 

deBoolean deSceneOctree::Optimize Octant   oct [private]
 

deBoolean deSceneOctree::RayTestFromOctant Octant   oct,
const deVec3d   Start,
const deVec3d   End,
IdeCollision::deCollideInfo   Collision
[private]
 

deBoolean deSceneOctree::RayTestNodes Octant   oct,
const deVec3d   Start,
const deVec3d   End,
IdeCollision::deCollideInfo   Collision
[private]
 

deBoolean deSceneOctree::RayTestParents Octant   oct,
const deVec3d   Start,
const deVec3d   Dir,
IdeCollision::deCollideInfo   Collision
[private]
 

deSceneOctree::Neighbor_t deSceneOctree::RayToNeighbor Octant   oct,
const deVec3d   RayStart,
const deVec3d   RayDir,
deVec3d   ExitPoint
[private]
 

int deSceneOctree::Release  
 

deBoolean deSceneOctree::RemoveNode IdeSceneRoom   Node
 

deBoolean deSceneOctree::RemoveOctant Octant   oct,
deTList< IdeSceneRoom * > *    DumpList,
deBoolean    RemoveChildren,
deBoolean    IgnoreNeighbors = deFALSE
[private]
 

void deSceneOctree::SetMaxNodeNum int    MaxNum
 

void deSceneOctree::SetMinOctSize deDouble    MinSize
 

deBoolean deSceneOctree::SubdivideOctant Octant   oct [private]
 

void deSceneOctree::TEST  
 

deBoolean deSceneOctree::TestOctantBBox Octant   oct,
const deVec3d   Min,
const deVec3d   Max
[private]
 

deBoolean deSceneOctree::TestOctantPoint Octant   oct,
const deVec3d   Position
[private]
 

deSceneOctree::Octant * deSceneOctree::TraceNeighbor Octant   Start,
Octant   Current,
Neighbor_t    N,
int    Depth
[private]
 

deBoolean deSceneOctree::TraceRayCollision const deVec3d   Start,
const deVec3d   End,
IdeCollision::deCollideInfo   Collision
 

deBoolean deSceneOctree::WipeTree  
 


Member Data Documentation

IdeVertexBuffer* deSceneOctree::m_LineListVB [private]
 

int deSceneOctree::m_MaxNodes [private]
 

deDouble deSceneOctree::m_MinSize [private]
 

Octant* deSceneOctree::m_Root [private]
 

int deSceneOctree::m_TestNumber [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 12 20:16:51 2005 for Destiny3D by doxygen1.3-rc3